ISSN 1884-0760
GRACE TECHNICAL REPORTS
Meta-Models for Wireless Sensor Network
Applications: Data, Group, and Node Views
Ryo Shimizu
Kenji Tei
Yoshiaki Fukazawa Shinichi Honiden
GRACE-TR 2012–01’ February 2012
CENTER FOR GLOBAL RESEARCH IN
ADVANCED SOFTWARE SCIENCE AND ENGINEERING NATIONAL INSTITUTE OF INFORMATICS 2-1-2 HITOTSUBASHI, CHIYODA-KU, TOKYO, JAPAN
Meta-Models for Wireless Sensor Network
Applications: Data, Group, and Node Views
Ryo Shimizu1
Kenji Tei2
Yoshiaki Fukazawa1
Shinichi Honiden2 ,3
1
Waseda University, Tokyo, Japan
[email protected], [email protected]
2
National Institute of Informatics, Tokyo, Japan
{tei, honiden}@nii.ac.jp
3
The University of Tokyo, Tokyo, Japan
February 16th, 2012
Abstract
Applying model-driven development(MDD) to the wireless sensor network (WSN) domain is a promising way because MDD deals with the models from at the abstract level to at the concrete level. In this context, a developer can separately model the application logic of the WSN applications at the abstract level and a communication method and task assignment at the concrete level. However, existing studies applying the MDD to the WSN application only define the meta-model at single abstraction level. In this report we define the meta-models at three abstraction levels. We expect to achieve the MDD process for WSN applications using the models at multiple abstraction levels with our meta-models.
1
Introduction
A wireless sensor network (WSN) is a network consisting of small devices, called sensor nodes, with a wireless communication unit, CPU, RAM, multi-ple sensors, and a battery. They also have resource constraints, e.g. energy and reliability. Due to these constraints, the WSN application developer has to optimize the quality of the sensor data, e.g. the data sensing span and data loss rate. Because the data quality heavily depends on the execution environment [6], the developer tunes the data quality by making design de-cisions such as a communication method and task assignment. To optimize performance, applications are needed to be executed on the environment at early stage of development. In this way, the WSN application development
Figure 1: The overview of the MDD process of the WSN applications.
requires the following: a rapid prototyping that is to develop the prototype in a low-cost way, and a fine-grained tuning that is to tune the data quality by the communication methods and task assignments.
The developer usually describes WSN applications by using domain spe-cific language (DSL) to abstract the details of WSNs. A lot of DSLs are proposed and they can be classified to three levels, dataflow-, group-, and node-level, based on a scope of programs [4]. The node-level DSLs express the instructions for the individual node. The group-level DSLs express the macro-behavior of the node group. The dataflow-level DSLs only express data sampling and processing. The developer often adopts the node-level DSLs, because these DSLs can finely tune the data quality in detail. How-ever, it is difficult for non-WSN experts to use the node-level DSLs because it requires the knowledge of the WSN. Hence, dataflow- and group-level DSLs are suitable for non-WSN experts. These DSLs can express the WSN application simply whereas they cannot express in-depth designs for tuning the data quality. Therefore, the developer cannot satisfy two requirements for the WSN application development by using single DSL.
Model-driven development (MDD) is a promising solution to satisfy these requirements at the same time. In the MDD process, the developer can describe the applications as an abstract model, then iteratively refine the model into concrete ones and the corresponding code. In this context, the developer can describe the WSN application at the dataflow-level at first. If the tuning of the data quality is needed, the developer should design the application at the group- and node-level as well as the dataflow-level. We illustrated the overview of this process in Figure 1.
Prototyping Phase Sy s te m 's v ie w D e v e lo p e r' s V ie w Tuning Phase <<process>> Dataflow-level Modeling <<physical>> : Dataflow-levelModel <<process>> Dataflow2Group Transformation <<physical>> : Group-levelModel <<process>> Group2Node Transformation <<physical>> : Node-levelModel <<process>> Code Generation <<physical>> : ApplicationCode <<process>> Performance
Analysis : TuningFactor
<<process>> Dataflow-level Tuning <<process>> Group-level Tuning <<process>> Node-level Tuning <<physical>>
: Dataflow-levelModel : Group-levelModel<<physical>> : Node-levelModel<<physical>>
<<process>> Dataflow2Group Transformation <<process>> Group2Node Transformation <<process>> Code Generation <<physical>> : ApplicationCode
Figure 2: The development process using multiple abstraction levels.
is automatically generated from the model [3]. Meanwhile, our previous work [5] proposed the development process using multiple abstraction lev-els, illustrated in Figure 2. We defined the meta-models at three abstraction levels and transformation rules between the models described based on our meta-models. However, the meta-models in [5] is not enough to describe the real-world WSN applications.
In this report, we describe the definition of meta-models that are the modified version of meta-models in [5]. We defined three meta-models based on the existing DSLs and the classification of the DSLs. The dataflow-level DSML expresses a network-independent dataflow, that is application logic of the WSN application. The group-level DSML can be described a configuration of the leader-member type node group. The node-level DSML contains the role which represents a group of tasks and the node in the WSN, and expresses a role assignment to nodes. These DSMLs are designed to describe the most typical WSN applications that samples and sends at fixed interval [2].
2
The Dataflow-level Meta-Model
We defined the dataflow-level meta-model to expresses a network-independent dataflow, that is an application logic of the WSN application because data flow is the basic application logic of WSN applications. The dataflow-level model consists of a data source, intermediate processing point, data sink and relations between them.
Figure 3 shows the meta-model at dataflow-level. The data source (DataSourcein the meta-model) needs information of a data type to sense, duration of data sampling and transmission, and location of the data source.
Figure 3: The dataflow-level meta-model.
The data processing point has two processing types: aggregation ( Aggregation-Point) dealing with a single data type and fusion (FusionPoint) dealing with multiple data types into a single data type. The aggregation also has two types: a temporal aggregation (TemporalAggregationPoint) and spa-tial aggregation (SpatialAggregationPoint). The temporal aggregation deals with the aggregation of time-series data and the spatial aggregation deals with the aggregation of data that is spatially distributed. They need attributes for the operation and data type dealing with. The temporal ag-gregation additionally needs parameters for agag-gregation, a width of time window and duration. Treating data is finally collected to the data sink (DataSink). The developer describe dataflow-level model by deciding the relations between aforementioned objects and attributes in these objects.
3
The Group-level Meta-Model
We defined the group-level meta-model to express the configuration and behavior of node groups. The group-level model is dependent on the network and describable about handling a group of nodes as a single entity, thus the developer can model the application in more simple way than model the behavior of the individual node. Each group in the model is the leader-members type group.
commu-Figure 4: The group-level meta-model.
nications from the members to the leader (Communication), and contains information of the network topology and location of the group. In our meta-model, the leader (Leader) is the generalization of a data sink (Sink) and leader node (LeaderNode) and the member (Member) is the general-ization of a member group and member nodes (MemberNodes). The mem-ber nodes yield a sensor data and the nodes need information on the data sampling, and duration of data sampling and transmission. The developer can model the in-/out-network aggregation by assigning a data process-ing task (represented by Operator) to the sink/leader node. The data processing includes a data fusion (FusionOperator), temporal aggrega-tion (TempralAggregationOperator), and spatial aggregation ( Spatial-AggregationOperator) same as at dataflow-level. The leader node and member nodes have a deployment condition that is the conditional expres-sion of the task assignments to the nodes in WSN. A data compresexpres-sion and encryption are modeled as the attributes of the communication.
4
The Node-level Meta-Model
The node-level meta-model is defined to express a behavior and configu-ration of each node because WSN applications are finally executed on the individual node. The combination of tasks such as data sampling and the task assignment represent the behavior.
In node-level model, a role that represents the group of task (Role) has relations to sensor nodes (Node) and these relations represent the task
Figure 5: The node-level meta-model.
ments. We define three types of role, the role as a group member ( Member-Role), group leader (LeaderRole), and base station (BaseStationRole). The member role is responsible for the task of data sampling ( Sampling-Task) and transmission (SendingTask). The leader role contains a relay-ing task, data receivrelay-ing (ReceivingTask) and transmission, and a task of in-network data processing (OperationalTask). The base station role col-lects the transmitted data, and then processes the data. Same as at the dataflow- and group-level, the data processing contains the fusion ( Fusion-Task), temporal aggregation (TemporalAggregationTask), spatial aggre-gation (SpatialAggregationTask). Each task has attributes to define the specific behavior and configuration, e.g. the sampling task has the attributes of the data type and sampling period. As for the communication between nodes, a routing protocol, data compression, encryption, and data type they dealing with are modeled as the attributes in both the receiving and sending side. Figure 5 illustrates the definition of the node-level meta-model.
5
Conclusion
for the WSN applications, and describe the details of each meta-model. In the future, we will evaluate the description capabilities of three meta-models with the real-world WSN applications. With the transformation rules between the models described base on our meta-models, we will also evaluate the applicability of the development process we proposed in [5].
References
[1] Bahar Akbal-Delibas, Pruet Boonma, and Junichi Suzuki. Extensible and precise modeling for wireless sensor networks. In Jianhua Yang, Athula Ginige, Heinrich C. Mayr, Ralf-D. Kutsche, Wil Aalst, John My-lopoulos, Michael Rosemann, Michael J. Shaw, and Clemens Szyperski, editors, Information Systems: Modeling, Development, and Integration, volume 20 of Lecture Notes in Business Information Processing, pages 551–562. Springer Berlin Heidelberg, 2009.
[2] Lan S. Bai, Robert P. Dick, and Peter A. Dinda. Archetype-based designf sensor network programming for application experts, not just program-ming experts. In Proceedings of the 2010 Fourth International Confer-ence on Sensor Technologies and Applications, IPSN ’09, pages 323–328, Washington, DC, USA, 2009. IEEE Computer Society.
[3] Fernando Losilla, Cristina Vicente-Chicote, B´arbara ´Alvarez, Andr´es Ib-ora, and Pedro S´anchez. Wireless sensor network application develop-ment: An architecture-centric mde approach. In Flavio Oquendo, editor,
Software Architecture, volume 4758 of Lecture Notes in Computer
Sci-ence, pages 179–194. Springer Berlin / Heidelberg, 2007.
[4] Luca Mottola and Gian Pietro Picco. Programming wireless sensor net-works: Fundamental concepts and state of the art. ACM Comput. Surv., 43(3):19:1–19:51, April 2011.
[5] Ryo Shimizu, Kenji Tei, Yoshiaki Fukazawa, and Shinichi Honiden. Model driven development for rapid prototyping and optimization of wireless sensor network applications. InProceedings of the 2nd Workshop on Software Engineering for Sensor Network Applications, SESENA ’11, pages 31–36, New York, NY, USA, 2011. ACM.
[6] Jerry Zhao and Ramesh Govindan. Understanding packet delivery per-formance in dense wireless sensor networks. In Proceedings of the 1st international conference on Embedded networked sensor systems, Sen-Sys ’03, pages 1–13, New York, NY, USA, 2003. ACM.